Due to the rapid development in the electronic technology, almost everyone has an MP3 player. Moreover, most mobile phones are installed with functions of an MP3 player so that users can enjoy music wherever and whenever they want. However, the MP3 player is mostly used when users commute or go out; as a result, music is often badly affected by background noises outside and the quality of music is also degraded.
Most users raise the volume of the music up to decrease the ratio between noise and music so as to ignore the background noise, which makes them stay in an environment of high decibel such that the users hearing can be damaged.
Therefore, many researches are doing researches in order to decrease the level of noise. In general, methods for decreasing noises are in two groups—one is passive noise reduction and the other is active noise reduction. The method of passive noise reduction absorbs and blocks noises away by means of concrete materials. For example, in the prior art, hard materials of the outer shell of a conventional earpiece are used for sound isolation while soft materials of the inner part of the conventional earpiece are used for sound absorption.
The method of active noise reduction counterbalances noises by digital processing, i.e., outputting a waveform of which the frequency is the same as that of noises, and the phase is different but the amplitude is the same as that of noises. There have been many algorithms being developed for the method of active noise reduction. To control an active noise reduction system by means of adaptive algorithms is commonly known. Among the adaptive algorithms, the Least-Mean-Square (LMS) algorithm is put into use the most extensively.
However, it is found that when applying the LMS algorithm in the prior art, the secondary pathway is included among the noise source, speaker, and microphone for receiving the noise. A system may become instable if the effect of a function of a transfer of the secondary pathway is neglected when the conventional LMS algorithm is applied. Thus, a Feedback Filtered-X Least-Mean-Square algorithm is developed for an active noise reduction system in the prior art.
Referring to FIGS. 1 and 2, wherein FIG. 1 is a schematic drawing of an active noise reduction system while FIG. 2 is a drawing of a structure of an active noise reduction system using a FFXLMS algorithm. An active noise reduction system 100 in the prior art receives an audio input signal a(n) and a noise interference signal d(n), and calculates an audio broadcasting signal y(n) according to the FFXLMS algorithm, wherein the active noise reduction system 100 includes a microphone for receiving the noise interference signal d(n) and a speaker for broadcasting the audio broadcasting signal y(n). Furthermore, the audio input signal a(n) is sent from an electronic device into the active noise reduction system 100.
The active noise reduction system 100 includes:
A first operation unit 11 for receiving the audio input signal a(n) and the audio broadcasting signal y(n), a first reference signal y2(n) being analyzed with an analytic function of y2(n)=y(n)+a(n);
A first error operation unit 12 for receiving the noise interference signal d(n) and the audio broadcasting signal y(n), a first error signal e(n) being analyzed with an analytic function of
            e      ⁡              (        n        )              =                  d        ⁡                  (          n          )                    -                        ∑                      m            =            0                                M            -            1                          ⁢                  Sm          *          y          ⁢                                          ⁢          2          ⁢                      (                          n              -              m                        )                                ;
a second error operation unit 13 for receiving the first error signal e(n) and the audio input signal a(n), a second error signal e2(n) being analyzed with an analytic function of
            e      ⁢                          ⁢      2      ⁢              (        n        )              =                  e        ⁡                  (          n          )                    +                        ∑                      m            =            0                                M            -            1                          ⁢                              Sm            ′                    ⁢                      a            ⁡                          (                              n                -                m                            )                                            ;
a second operation unit 14 for receiving the second error signal e2(n) and the audio broadcasting signal y(n), a first noise prediction signal x(n) being analyzed with an analytic function of
            x      ⁡              (        n        )              =                  e        ⁢                                  ⁢        2        ⁢                  (          n          )                    +                        ∑                      m            =            0                                M            -            1                          ⁢                              Sm            ′                    ⁢                      y            ⁡                          (                              n                -                m                            )                                            ;
a first adaptive operation unit 15 for receiving the first noise prediction signal x(n), the audio broadcasting signal y(n) being analyzed with an analytic function of
            y      ⁡              (        n        )              =          μ      ⁢                          ⁢                        ∑                      l            =            0                                L            -            1                          ⁢                                            Wl              ⁡                              (                n                )                                      _                    ⁢                      x            ⁡                          (                              n                -                l                            )                                            ,and
a second adaptive operation unit 16 for receiving the first noise prediction signal x(n), a second noise prediction signal x′(n) being analyzed with analytic function of
                    x        ′            ⁡              (        n        )              ≡                  ∑                  m          =          0                          M          -          1                    ⁢                        Sm          ′                ⁢                  x          ⁡                      (                          n              -              m                        )                                ,
wherein S′m and Wl are functions of a Least-Mean-Square algorithm, the definition of S′m being S′m(n+1)=S′m(n)+μa(n−m)e2(n), m=0, 1, . . . , M−1, and the definition of Wl being Wl(n+1)=Wl(n)+μx′(n−l)e2(n), l=0, 1, . . . , L−1, wherein μ is a convergence factor.
However, since the convergence factor μ is usually a floating point number smaller than 1, the conventional active noise reduction system 100 needs a more powerful controller such as a Digital Signal Processing (DSP) or an Application-Specific Integrated Circuit (ASIC); otherwise, it takes too much time in running a floating point operation virtually.
For example, referring to FIG. 3, a table showing work cycle needed by a microcontroller unit (MCU) controller for basic floating point operations and basic integral number operations if the active noise reduction system 100 using the FFXLMS algorithm is utilized and the controller is a microcontroller unit (MCU), which is simpler and cheaper.
Take a MCU of a working frequency of 40 MHz for example. One of its working cycles is 0.025 uS. The shortest working cycle needed by the basic floating point operation is a multiplication, which is 109*0.025 uS=2.75 uS. If a sampling frequency of 10 kHz is applied in the active noise reduction system 100, each operation loop has merely an operation time of 1/10kHz=100 uS; that is, the MCU can merely run the floating point operation for 36 times.
If the active noise reduction system 100 is an active noise reduction system of n orders, the second error operation unit 13, second operation unit 14, and the second adaptive operation unit 16, which use the function of S′m for calculation, need n times of integer division in each operation loop for calculating the convergence factor μ in the function of S′m.
The first adaptive operation unit 15, which uses the function of Wl for calculation, needs n times of integer division for calculating the convergence factor μ in the function of Wl in each operation loop.
It is known from the above that only lower order of LMS algorithm S′m and Wl can be adopted for calculating when a simple controller such as an MCU is applied in the active noise reduction system 100 using the FFXLMS algorithm. However, the noise reduction of the active noise reduction system 100 is not good.
Based on the above facts, since the convergence factor μ is usually a floating point number smaller than 1, the conventional active noise reduction system 100 using the FFXLMS algorithm needs to run a huge amount of floating point number operations. Although a more powerful controller such as a DSP or an ASIC can directly run a floating point number operation, it is more expensive and the costs of the active noise reduction system 100 increases.
On the contrary, although a cheaper controller such as a MCU can lower the costs, this kind of controller cannot directly run a floating point number operation—floating point numbers needed are indirectly generated through a division. As a result, the operation takes too long and only lower order of LMS algorithm can be used, which results in the bad quality of noise reduction of the active noise reduction system 100.